package com.lee.nio;

import java.nio.IntBuffer;

/**
 * BasicBuffer
 *
 * @author dralee
 * @date 2021-12-28 00:26:22
 **/
public class BasicBuffer {
    public static void main(String[] args) {
        // 举例说明Buffer 使用
        // 创建一个Buffer，大小为5，可存放5个int
        IntBuffer intBuffer = IntBuffer.allocate(5);

        // 向buffer存放数据
//        intBuffer.put(10);
//        intBuffer.put(12);
//        intBuffer.put(13);
//        intBuffer.put(14);
//        intBuffer.put(15);
        for (int i = 0; i < intBuffer.capacity(); i++) {
            intBuffer.put(i * 2);
        }
        // 如何从buffer读取数据
        // 将buffer转换，读写切换
        /*
         public final Buffer flip() {
            limit = position;
            position = 0;
            mark = -1;
            return this;
        }
         * */
        intBuffer.flip();

        while (intBuffer.hasRemaining()) {
            System.out.println(intBuffer.get());
        }

        System.out.println("只读取部分：");
        intBuffer.flip();
        intBuffer.position(1);
        intBuffer.limit(3);
        while (intBuffer.hasRemaining()) {
            System.out.println(intBuffer.get());
        }
    }
}
